package fy.EAM.dao;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.soa.eis.adapter.framework.message.IMsgObject;
import com.soa.eis.adapter.framework.message.impl.GroupRecord;
import com.soa.eis.adapter.framework.message.impl.MsgObject;
import com.soa.eis.adapter.framework.requester.IServiceRequester;
import com.soa.eis.adapter.framework.requester.impl.BaseServiceRequester;

import fy.EAM.bean.Transferbean;
import fy.mdm.dao.MaterialRequestNoTimerTask;

public class transferdao {
	private static Log log = LogFactory.getLog(transferdao.class);
	private Transferbean transferbean;
	public boolean Transfer() {
//		System.err.println("数据进入");
		log.info("=======>>>>>transfer--step001");
		try {

			IServiceRequester Requester = BaseServiceRequester.getInstance();
			List<GroupRecord> grs1 = new ArrayList<GroupRecord>();//多层用
			// 定义请求报文对象
			IMsgObject reqMo = new MsgObject(IMsgObject.MOType.initSR);
			String SourceSysID = "06004"; // 请求方(发布方)
			String ServiceID = "02012000000002";// 响应方(发布方)
			// 获取系统时间
			Date date = new Date();
			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
			String format = simpleDateFormat.format(date);
			// 对请求报文对象进行设置
			reqMo.setSourceSysID(SourceSysID); // 设置报文 请求方系统号
			reqMo.setSerialNO(format.substring(0, 8) + SourceSysID
					+ String.format("%06d", ++MaterialRequestNoTimerTask.requestNo));// 设置报文流水号,第三段表示今天发送的第几的一次报文
			reqMo.setServiceID(ServiceID); // 设置报文 提供方服务号
			reqMo.setServiceDateTime(format); // 设置报文 日期时间
			GroupRecord gr1 = new GroupRecord();
			gr1.setName("Asset");
			gr1.setFieldValue("AssetNumber",transferbean.getAssetNumber() );
			gr1.setFieldValue("SerialNumber", transferbean.getSerialNumber());
			gr1.setFieldValue("OABillINum", transferbean.getOABillNum());
			gr1.setFieldValue("userName", transferbean.getUserName());
			gr1.setFieldValue("jobNum", transferbean.getJobNum());
			gr1.setFieldValue("handoverPerson",transferbean.getHandoverPerson() );
			gr1.setFieldValue("handoverTime", transferbean.getHandoverTime());
			gr1.setFieldValue("handoverCpt", transferbean.getHandoverCpt());
			gr1.setFieldValue("isFT", transferbean.getIsFT());
			gr1.setFieldValue("WorkCenterName", transferbean.getWorkCenterName());
			grs1.add(gr1);
			reqMo.setReqGroupRecord(grs1);
			log.info("reqMo:"+reqMo);
			IMsgObject respMo = null;
			respMo = Requester.execute(reqMo);//发布报文
			
			 
		
		} catch (Exception e) {
			// TODO: handle exception
		}
		return true;
		
	}
	public Transferbean getTransferbean() {
		return transferbean;
	}
	public void setTransferbean(Transferbean transferbean) {
		this.transferbean = transferbean;
	}
	
}
